package data.handle;

/*
* part文件的关键数据处理类
*
* 采用 “Hash表” 结构对该文件的关键数据进行保存和处理，
* Hash表 ：根据零件号的取模运算来计算出它在hash值，hash表的长度设置为当前线程所处理的零件号的数量，
*          hash表中存储Node节点，其key值是零件号，value值是零件品牌号（只保存零件品牌字段中最后两个字节的序号）
*
* */
public class PartHandle {
    private int partKeyNum;
    private byte brandIndexs[];//hash表结构

    public PartHandle(int partKeyNum){
        this.partKeyNum = partKeyNum;
        this.brandIndexs = new byte[partKeyNum];
    }

    //根据零件号的hash值存放对应的品牌号
    public void putBrandIndex(int partKey, byte brandIndex){
        int hash = partKey % partKeyNum;
        brandIndexs[hash] = brandIndex;
    }

    //得到一个零件号的品牌号
    public byte getBrandIndex(int partKey){
        int hash = partKey % partKeyNum;
        return brandIndexs[hash];
    }
}
